#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
主题: 复数的数学运算
问题: 你写的最新的网络认证方案代码遇到了一个难题，并且你唯一的解决办法就是使用复数空间。 再或者是你仅仅需要使用复数来执行一些计算操作。
提示 : 
"""

def recipe1():
    a = complex(2, 4)
    b = 3 - 5j
    print(f"{a = }")
    print(f"{b = }")

    print(f"{a.real = }")
    print(f"{a.imag = }")
    print(f"{a.conjugate() = }")

    # 常见的数学运算
    print(f"{a + b = }")
    print(f"{a * b = }")
    print(f"{a / b = }")
    print(f"{abs(a) = }")

    # 执行其他的复数函数比如正弦、余弦或平方根
    import cmath
    print(f"{cmath.sin(a) = }")
    print(f"{cmath.cos(a) = }")
    print(f"{cmath.exp(a) = }")

def recipe2():
    """构造一个复数数组并在这个数组上执行各种操作"""
    import numpy as np
    a = np.array([2+3j, 4+5j, 6-7j, 8+9j])
    print(f"{a = }")

    print(f"{a + 2 = }")
    print(f"{np.sin(a) = }")

def main():
    print('recipe1'.center(20, '*'))
    recipe1() 
    print('recipe2'.center(20, '*'))
    recipe2() 

if __name__ == '__main__':
    main()      